package com.xbongbong.pro.statistic.service;

import com.xbongbong.paas.pojo.dto.FormDataListDTO;
import com.xbongbong.paas.pojo.vo.ExportFormDataVO;
import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.pro.statistic.result.pojo.dto.ChartPenetrateResultDTO;
import com.xbongbong.pro.statistic.result.pojo.dto.ChartResultCallStatisticsDTO;
import com.xbongbong.pro.statistic.result.pojo.dto.ChartResultDTO;
import com.xbongbong.pro.statistic.result.pojo.vo.ChartResultVO;
import com.xbongbong.pro.statistic.through.pojo.dto.ResultThroughDTO;


/**
 * @author zhouwq
 * @date 2019/6/10 8:56
 */

public interface ChartExportService {

    /**
     * 导出穿透报表
     * @param resultThroughDTO 入参
     * @return 报表详细信息
     * @throws XbbException error
     * @author zhouwq
     * @date 2019/5/28 18:45
     */
    ExportFormDataVO exportChartThroughData(ResultThroughDTO resultThroughDTO) throws XbbException;


    /**
     * 导出报表
     * 使用chartIdIn维护图表id集合
     * @param chartResultDTO 入参
     * @return 报表详细信息
     * @throws XbbException error
     * @author zhouwq
     * @date 2019/5/28 18:45
     */
    ExportFormDataVO exportChartData(ChartPenetrateResultDTO chartResultDTO) throws XbbException;

    /**
     * 导出PK报表
     * 使用chartIdIn维护图表id集合
     * @param chartResultDTO 入参
     * @return 报表详细信息
     * @throws XbbException error
     * @author zhouwq
     * @date 2019/6/19 10:19
     */
    ExportFormDataVO exportPkChartData(ChartResultDTO chartResultDTO) throws XbbException;

    /**
     * 导出目标完成情况
     *
     * @param chartResultDTO 入参
     * @return com.xbongbong.paas.pojo.vo.ExportFormDataVO
     * @throws XbbException error
     * @author 徐俊杰
     * @date 2019/6/20 15:58
     * @since v1.0
     */
    ExportFormDataVO exportPerformance(ChartResultDTO chartResultDTO) throws XbbException;

    /**
     * 导出呼叫统计
     *
     * @param chartResultDTO 入参
     * @return com.xbongbong.paas.pojo.vo.ExportFormDataVO
     * @throws XbbException error
     * @author youli.chen
     * @date 2019/6/20 15:58
     * @since v1.0
     */
    ExportFormDataVO exportCallStatistics(ChartResultCallStatisticsDTO chartResultDTO) throws XbbException;

}
